Page({
    data: {
        topic: [
            {
                cont: '有时候我们不只是想要从上而下固定方向上的颜色渐变，可能想要实现的是各个方向上的渐变，那么此时我们可以在 1 中传入多个颜色值的基础上再传入渐变方向，该参数作为第一个参数，可以是八种方向，也可以是具体的角度值。',
                type: 1, // 1多选 2单选 3判断
                id: 1,
                options: [
                    { name: 'A', value: 'html', checked: false, isRight: 0 },// 0没选没对 1已选并正确 2已选但错了 3没选但是正确的
                    { name: 'B', value: 'css', checked: false, isRight: 0 },
                    { name: 'C', value: 'js', checked: false, isRight: 0 },
                    { name: 'D', value: 'vue', checked: false, isRight: 0 }
                ],
                answer: 'A##B',
                answerArr: ['A', 'B'],
                isShowAnalyze: false, // 是否显示解析（隐藏确认按钮）
             },
            {
                cont: '如果想要实现从左下角往右上角的渐变，那么第一个参数可以写成to right top或者直接写具体角度值45deg，上面例子就可以这样写',
                type: 2, // 1多选 2单选 3判断
                id: 2,
                options: [
                    { name: 'A', value: '1', checked: false, isRight: 0 },
                    { name: 'B', value: '2', checked: false, isRight: 0 },
                    { name: 'C', value: '3', checked: false, isRight: 0 },
                    { name: 'D', value: '4', checked: false, isRight: 0 }
                ],
                answer: 'A##B',
                answerArr: ['A', 'B', 'C'],
                isShowAnalyze: false, // 是否显示解析（隐藏确认按钮）
            },
            {
                cont: '另外，由于linear-gradient()本身也是背景图片，所以以上效果我们还可以使用背景图片平铺',
                type: 1, // 1多选 2单选 3判断
                id: 3,
                options: [
                    { name: 'A', value: '你', checked: false, isRight: 0 },
                    { name: 'B', value: '我', checked: false, isRight: 0 },
                    { name: 'C', value: '他', checked: false, isRight: 0 },
                    { name: 'D', value: '我们', checked: false, isRight: 0 }
                ],
                answer: 'A##B',
                answerArr: ['B'],
                isShowAnalyze: false, // 是否显示解析（隐藏确认按钮）
            },
        ],
        isShowSummaryInfo: false, // 是否显示题目序号列表
        isHadCollect: false, // 是否收藏了
        nowIndex: 0, // 当前题目index
    },
    onLoad: function () {
        wx.setNavigationBarTitle({
            title: '答题'
        })
    },
    showSummaryInfo () { // 题目数点击底部上弹显示
        this.setData({
            isShowSummaryInfo: !this.data.isShowSummaryInfo
        })
    },
    collect () { // 收藏
        this.setData({
            isHadCollect: !this.data.isHadCollect
        });
        let title = '已取消收藏！';
        if (this.data.isHadCollect) {
            title = '收藏成功！';
        }
        wx.showToast({
            title: title
        })
    },
    swiperChangeIndex (e) { // 滑动题目改变
        console.log(e)
        this.setData({
            nowIndex: e.detail.current
        })
    },
    selectAnswer (e) { // 选择答案
        const that = this;
        let answereIndex = e.currentTarget.dataset.index; // 选中答案index
        if (this.data.topic[this.data.nowIndex].type == 1) { // 多选
            let str = 'topic[' + this.data.nowIndex + '].options[' + answereIndex + '].checked';
            this.setData({
                [str]: !that.data.topic[that.data.nowIndex].options[answereIndex].checked
            })
        }
        if (this.data.topic[this.data.nowIndex].type == 2) { // 单选
            this.data.topic[this.data.nowIndex].options.forEach(function (item, i) {
                let str2 = 'topic[' + that.data.nowIndex + '].options[' + i + '].checked';
                that.setData({[str2]: false});
            })
            let str = 'topic[' + this.data.nowIndex + '].options[' + answereIndex + '].checked';
            this.setData({
                [str]: true
            })
        }
    },
    saveAnswer () { // 确认答案
        let nwoTopic = this.data.topic[this.data.nowIndex];
        for (let i = 0; i < nwoTopic.options.length; i ++) {
            let str = 'topic[' + this.data.nowIndex + '].options[' + i + '].isRight';
            if (nwoTopic.options[i].checked && nwoTopic.answerArr.indexOf(nwoTopic.options[i].name) != -1) { // 选了并且正确了
                this.setData({[str]: 1});
            } else if (nwoTopic.options[i].checked && nwoTopic.answerArr.indexOf(nwoTopic.options[i].name) == -1) { // 选了但是错了
                this.setData({[str]: 2});
            } else if (!nwoTopic.options[i].checked && nwoTopic.answerArr.indexOf(nwoTopic.options[i].name) != -1) { // 没选的正确项
                this.setData({[str]: 3});
            } else {
                this.setData({ [str]: 0 });
            }
        }
        this.setData({
            ['topic[' + this.data.nowIndex + '].isShowAnalyze']: true
        });
    }
})